package 字符串;

/**
 * 58. 最后一个单词的长度
 * 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
 *
 * 单词 是指仅由字母组成、不包含任何空格字符的最大
 * 子字符串
 * 。
 * 思路：倒序遍历，指针i到空格或者首位时，末尾-i即为长度。  需要注意末尾存在空格的情况，先去末尾空格，再从后向前遍历。
 */
public class L_58 {
    public int lengthOfLastWord(String s) {
        int index = s.length() - 1;
        // 去末尾空格，也可以使用String方法去重
        while (s.charAt(index) == ' ') {
            index--;
        }
        // 反向遍历
        int wordLength = 0;
        while (index >= 0 && s.charAt(index) != ' ') {
            wordLength++;
            index--;
        }
        return wordLength;
    }
}
